<?php
namespace app\admin\validate\Doc;

use think\Validate;

class Edit extends Validate
{
    //数组顺序就是检测的顺序，比如这里，会先检测code验证码的正确性
    protected $rule =   [
        'id'            =>  'require|checkId:',
        'name'          =>  'require|checkName:',
        'category_id'   =>  'require',
    ];

    //定义内置方法检验失败后返回的字符
    protected $message  =   [
        'id.require'            => 'Id不能为空',
        'name.require'          => '文档名不能为空',
        'category_id.require'   => '分类ID不能为空',
    ];

    //自定义验证码检验方法
    protected function checkId($id){
        $is_exist = model('Doc')->getById($id);
        if( !$is_exist )
        {
            return '数据不存在';
        }
        else
        {
            return true;
        }
    }

    //自定义验证码检验方法
    protected function checkName($name, $rule, $data){
        $is_exist = model('Doc')->getByName($name);
        if( is_array( $is_exist ) && $is_exist['id'] != $data['id'] )
        {
            return '文档名已经存在';
        }
        else
        {
            return true;
        }
    }
}